"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/5/27 14:53
@Description : 
异常处理机制
try：
   可能会出现某种异常的代码
except  异常类型 :
    出现异常后的处理机制
.....

else:
   代码块     没有出现异常时执行
finally:
    代码块  无论try代码块有没有异常都要执行  python 操作数据库  connection  连接  释放连接   释放资源

注意：
  1. 声明的异常要和try块中抛出的异常一致  否则异常不理不生效
  2. 异常的声明可以有多个  但是需要注意异常的罗列顺序 大的异常需要放置在后面
"""
print('---开始购票-----')
print('---开始结算-----')
try:
    print('---开始发送短信通知-----')
    lst = [1, 2]
    print(lst[2])  # IndexError: list index out of range
    # 异常  ZeroDivisionError: division by zero    程序的执行停止
    num = 1 / 2
    # dct = {
    #     'num': 10,
    # }
    # print(dct['number'])
except TypeError as e:
    print('----------网络不稳定,短信发送失败-------------')
except ZeroDivisionError as e:
    print('异常:被除数不能为0')
except IndexError as e:
    print('异常: 索引越界异常')
except Exception as e:
    print('-------出现异常了----------')
else:
    print('----------else---------------')
finally:
    print('----------finally---------------')

print('--------减少库存-------------')
print('---购票完成-----')
